$ jupyter notebook --NotebookApp.iopub_data_rate_limit=1000000 03_librosa_demo.ipynb
import librosa
import librosa.display
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
sns.set()
recording = 'audio/rec.wav'
y, sr = librosa.load(recording)
import IPython.display as ipd
ipd.Audio(recording)
fs = 18
plt.figure(1)
plt.figure(1).set_size_inches(18,6)
plt.figure(1).subplots_adjust(left=0.05, bottom=0.14, right=0.95, top=0.9, wspace=0.2, hspace=0.5)
plt.plot(y, color='blue', alpha=0.6)
plt.title('time series of the recording', fontsize=fs)
plt.xticks(fontsize=fs)
plt.yticks(fontsize=fs)
plt.show()
plt.figure(2)
plt.figure(2).set_size_inches(18,6)
plt.figure(2).subplots_adjust(left=0.05, bottom=0.14, right=0.95, top=0.9, wspace=0.2, hspace=0.6)
chroma = librosa.feature.chroma_stft(y=y, sr=sr)
librosa.display.specshow(chroma, y_axis='chroma', x_axis='time')
plt.title('Short time fourier transform -- Chromagram', fontsize=fs)
plt.xticks(fontsize=fs)
plt.yticks(fontsize=fs)
plt.colorbar()
plt.show()
plt.figure(3)
plt.figure(3).set_size_inches(9,8)
plt.figure(3).subplots_adjust(left=0.05, bottom=0.14, right=0.95, top=0.9, wspace=0.2, hspace=0.6)
tempo, beats = librosa.beat.beat_track(y=y, sr=sr, trim=False)
print ('Tempo: ', tempo, 'BPM')
stft = librosa.feature.chroma_stft(y=y, sr=sr)
sync = librosa.util.sync(cqt, beats, aggregate=np.median)
chroma_stack = librosa.feature.stack_memory(sync, n_steps=5, mode='edge')
S = librosa.segment.recurrence_matrix(chroma_stack, sym=True, mode='affinity')
librosa.display.specshow(S, cmap='GnBu', x_axis='frames' , y_axis='frames')
plt.colorbar()
plt.show()